//returns
var generate = function(numRows) {
    
    function build(arr, num){
        if(num === 0) {
            return arr;
        }
        if(arr.length === 0) {
            return build(arr.concat([[1]]), num -1);
        } else {
            let row = [];
            for(let i = 0; i < arr[arr.length-1].length; i++){
                if(i === 0 || i === arr[arr.length-1].length - 1) {
                    row.push(1);
                } else {
                    //find items above to left & right
                    let left = arr[arr.length-2][i-1];
                    let right = arr[arr.length-2][i];
                    //add & push to row
                    row.push(left + right);
                }
            }
            //push row, recurse
            return build(arr.concat([row]), num - 1);
        }
    }
    
    return build([], numRows);
    
};